package cn.huiyunche.base.service.interfaces;

import cn.huiyunche.base.service.vo.*;

import java.io.IOException;
import java.text.ParseException;

/**
 * 汇聚保 保单接口
 *
 * @author hdy [Tuffy]
 */
public interface HJBService {

    /**
     * 汇聚保 下单接口
     *
     * @param orderCode   the order code
     * @param productCode the product code
     * @param notifyUrl   the notify url
     * @param hefv        the hefv
     * @return result result
     * @throws ParseException the parse exception
     * @throws IOException    the io exception
     */
    Result<HJBOrderRtnVo> order(String orderCode, String productCode, String notifyUrl, HJBOrderExtraInfoFormVo hefv) throws ParseException, IOException;

    /**
     * 汇聚保 回调接口
     *
     * @param hnv 回调参数对象
     * @return 状态码 [success、error]
     */
    String notify(HJBNotifyVo hnv);

    /**
     * 查看保单状态
     *
     * @param orderCode the order code
     * @return result result
     */
    Result<HjbCheckOrderVo> orderStatus(String orderCode);
}
